import { isAndroid, isiOS, bMapTransQQMap } from '@/utils';

/**
 * *小程序无法支撑本方法
 * 打开手机上的地图
 * 在普通浏览器可以生效
 * 微信浏览器不生效
 * 浙里办生效
 * *注意：
 * h5 无法判断手机上是否安装了地图
 * 自研app可以判断
 * @param {type<number> 1 | 2 | 3 -> 高德 | 腾讯 | 百度}
 * @param {data<{ lng, lat }>} 坐标传入百度坐标
 */
export function openAppMap(type, { lng, lat }) {
  if (type == 1) {
    openGD({ lng, lat });
  } else if (type == 2) {
    openTX({ lng, lat });
  } else if (type == 3) {
    openBD({ lng, lat });
  }
}

// 高德
export function openGD({ lng: Lng, lat: Lat }) {
  const { lng, lat } = bMapTransQQMap(Lng, Lat);
  if (isAndroid) {
    location.href = `androidamap://navi?sourceApplication=appname&lat=${lat}&lon=${lng}&dev=0&style=2`;
  } else if (isiOS) {
    location.href = `iosamap://navi?sourceApplication=applicationName&lat=${lat}&lon=${lng}&dev=0&style=2`;
  }
}

// 百度
export function openBD({ lng, lat }) {
  if (isAndroid) {
    location.href = `bdapp://map/direction?destination=${lat},${lng}&coord_type=bd09ll&mode=driving&src=andr.baidu.openAPIdemo`;
  } else if (isiOS) {
    location.href = `baidumap://map/direction?destination=${lat},${lng}&coord_type=bd09ll&mode=driving&src=ios.baidu.openAPIdemo`;
  }
}

// 腾讯
export function openTX({ lng: Lng, lat: Lat }) {
  const { lng, lat } = bMapTransQQMap(Lng, Lat);
  location.href = `qqmap://map/routeplan?type=drive&tocoord=${lat},${lng}&referer=RE5BZ-3K4CF-HTVJ5-NRLGC-DSAG6-A6FYT`;
}
